///*
// * 文 件 名:  Base64Util.java
// * 版    权:  SDHS XinLian Payment Copyright 2013-2018,  All rights reserved
// * 描    述:  <描述>
// * 修 改 人:  cuiwei
// * 修改时间:  2018年9月10日
// * 跟踪单号:  <跟踪单号>
// * 修改单号:  <修改单号>
// * 修改内容:  <修改内容>
// */
//package com.sdhs.xl.shop.util;
//
//import java.io.ByteArrayOutputStream;
//import java.io.IOException;
//import java.io.InputStream;
//import java.net.HttpURLConnection;
//import java.net.URL;
//import java.util.Base64;
//
//import com.sdhs.paas.sdk.core.logger.Logger;
//import com.sdhs.paas.sdk.core.logger.LoggerFactory;
//import org.apache.commons.lang3.StringUtils;
//
//public class Base64Util
//{
//    private static final Logger LOGGER = LoggerFactory.getLogger(Base64Util.class);
//    
//    public static String decode(String src)
//    {
//        if (StringUtils.isBlank(src))
//        {
//            return null;
//        }
//        byte[] decode = Base64.getDecoder().decode(src.getBytes());
//        return new String(decode);
//    }
//    
//    public static byte[] decode1(String src)
//    {
//        if (StringUtils.isBlank(src))
//        {
//            return null;
//        }
//        byte[] decode = Base64.getDecoder().decode(src.getBytes());
//        return decode;
//    }
//    
//    public static String encode(String src)
//    {
//        if (StringUtils.isBlank(src))
//        {
//            return null;
//        }
//        return Base64.getEncoder().encodeToString(src.getBytes());
//    }
//    
//    public static String encode(byte[] bytes)
//    {
//        return Base64.getEncoder().encodeToString(bytes);
//    }
//    
//    /**
//     * 通过图片的url获取图片的base64字符串
//     *
//     * @param imgUrl 图片url
//     * @return 返回图片base64的字符串
//     */
//    public static String image2Base64(String imgUrl)
//    {
//        InputStream is = null;
//        ByteArrayOutputStream outStream = null;
//        HttpURLConnection httpUrl = null;
//        try
//        {
//            URL url = new URL(imgUrl);
//            httpUrl = (HttpURLConnection)url.openConnection();
//            is = httpUrl.getInputStream();
//            outStream = new ByteArrayOutputStream();
//            // 创建一个Buffer字符串
//            byte[] buffer = new byte[1024];
//            // 每次读取的字符串长度，如果为-1，代表全部读取完毕
//            int len = 0;
//            // 使用一个输入流从buffer里把数据读取出来
//            while ((len = is.read(buffer)) != -1)
//            {
//                // 用输出流往buffer里写入数据，中间参数代表从哪个位置开始读，len代表读取的长度
//                outStream.write(buffer, 0, len);
//            }
//            String encode = Base64Util.encode(outStream.toByteArray());
//            return encode;
//        }
//        catch (Exception e)
//        {
//            LOGGER.error("图片转码异常>>>>>>");
//            return null;
//        }
//        finally
//        {
//            if (is != null)
//            {
//                try
//                {
//                    is.close();
//                }
//                catch (IOException e)
//                {
//                    LOGGER.error("流关闭异常>>>>>>");
//                }
//            }
//            if (outStream != null)
//            {
//                try
//                {
//                    outStream.close();
//                }
//                catch (IOException e)
//                {
//                    LOGGER.error("流关闭异常>>>>>>");
//                }
//            }
//            if (httpUrl != null)
//            {
//                httpUrl.disconnect();
//            }
//        }
//    }
//    
//    /**
//     * 输入流转base64
//     *
//     * @return 返回图片base64的字符串
//     */
//    public static String image2Base64(InputStream is)
//    {
//        ByteArrayOutputStream outStream = null;
//        try
//        {
//            outStream = new ByteArrayOutputStream();
//            // 创建一个Buffer字符串
//            byte[] buffer = new byte[1024];
//            // 每次读取的字符串长度，如果为-1，代表全部读取完毕
//            int len = 0;
//            // 使用一个输入流从buffer里把数据读取出来
//            while ((len = is.read(buffer)) != -1)
//            {
//                // 用输出流往buffer里写入数据，中间参数代表从哪个位置开始读，len代表读取的长度
//                outStream.write(buffer, 0, len);
//            }
//            String encode = "data:image/png;base64," + Base64Util.encode(outStream.toByteArray());
//            return encode;
//        }
//        catch (Exception e)
//        {
//            LOGGER.error("图片转码异常>>>>>>");
//            return null;
//        }
//        finally
//        {
//            if (is != null)
//            {
//                try
//                {
//                    is.close();
//                }
//                catch (IOException e)
//                {
//                    LOGGER.error("流关闭异常>>>>>>");
//                }
//            }
//            if (outStream != null)
//            {
//                try
//                {
//                    outStream.close();
//                }
//                catch (IOException e)
//                {
//                    LOGGER.error("流关闭异常>>>>>>");
//                }
//            }
//        }
//    }
//}
